// +build wireinject

// The build tag makes sure the stub is not built in the final build.

package main

import (
	"github.com/go-kratos/kratos/v2"
	"github.com/go-kratos/kratos/v2/log"
	"github.com/google/wire"
	"go_private_im/internal/logic/biz"
	"go_private_im/internal/logic/conf"
	"go_private_im/internal/logic/data"
	"go_private_im/internal/logic/http"
	"go_private_im/internal/logic/server"
	"go_private_im/internal/logic/service"
)

// initApp init kratos application.
func initApp(*conf.Config,log.Logger) (*kratos.App) {
	panic(wire.Build(NewConsul,data.ProviderSet,http.ProviderSet,biz.ProviderSet, service.ProviderSet, server.ProviderSet, newApp))
}
